package vista;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.JScrollPane;
import javax.swing.JToolBar;
import javax.swing.JComboBox;
import javax.swing.SwingConstants;
import javax.swing.ImageIcon;
import java.io.File;
import modelo.Seccion;
import controlador.EscuchadorVentanaReportes;



public class VentanaReportes extends JFrame
{
    private JButton btnGuardar,btnSalir;
    private JComboBox cbOrden;
    private JTable reporteGenerado;
    
    public VentanaReportes(Seccion seccion)
    {
        super("Reportes");        
        String[] tipoOrdenReportes= {"Ordenados por Cedula","Ordenados por Nota Final","Aprobados","Reprobados"};
        
        ImageIcon imgReporte= new ImageIcon(getClass().getResource("imagenes" + File.separator + "ventanareporte.png"));
        ImageIcon imgGuardar= new ImageIcon(getClass().getResource("imagenes" + File.separator + "guardar.png"));
        ImageIcon imgSalir= new ImageIcon(getClass().getResource("imagenes" + File.separator + "salir.png"));

        PanelFondo panelFondo= new PanelFondo();
        PanelFrente panelFrente= new PanelFrente();
        
        JLabel lblTitulo= new JLabel("REPORTES");        
        JLabel lblTiposReportes= new JLabel("Reportes de Estudiantes");
        JLabel lblLogo= new JLabel(imgReporte);

        reporteGenerado= new JTable();
        JScrollPane scroll= new JScrollPane(reporteGenerado);

        reporteGenerado.setGridColor(new Color(56,172,222));
        
        JToolBar barraHerramientas= new JToolBar();
               
        btnGuardar= new JButton("GUARDAR",imgGuardar);
        btnSalir= new JButton("SALIR",imgSalir);
        

        cbOrden= new JComboBox();
        
        for (String tipoR:tipoOrdenReportes)
            cbOrden.addItem(tipoR);


        barraHerramientas.setFloatable(false);
        barraHerramientas.setOpaque(false);
        barraHerramientas.setBorderPainted(false);

        btnGuardar.setVerticalTextPosition(SwingConstants.BOTTOM);
        btnGuardar.setHorizontalTextPosition(SwingConstants.CENTER);
        btnGuardar.setOpaque(false);
        btnGuardar.setBorderPainted(false);
        
        btnSalir.setVerticalTextPosition(SwingConstants.BOTTOM);
        btnSalir.setHorizontalTextPosition(SwingConstants.CENTER);
        btnSalir.setOpaque(false);
        btnSalir.setBorderPainted(false);

        barraHerramientas.add(btnGuardar);
        barraHerramientas.addSeparator();
        barraHerramientas.addSeparator();
        barraHerramientas.add(btnSalir);

        panelFrente.setLayout(null);

        panelFrente.add(lblLogo);
        lblLogo.setBounds(60, 10, 200, 140);

        lblTitulo.setFont(new Font(Font.SERIF,Font.BOLD,20));

        panelFrente.add(lblTiposReportes);
        lblTiposReportes.setBounds(370,10, 220, 60);
        lblTiposReportes.setFont(new Font(Font.DIALOG,Font.BOLD,15));

        
        panelFrente.add(cbOrden);
        cbOrden.setBounds(370, 75, 220, 25);

        panelFrente.add(scroll);
        scroll.setBounds(10, 180, 610, 140);


        panelFrente.add(barraHerramientas);
        barraHerramientas.setBounds(230, 340, 600, 90);

        panelFondo.setLayout(null);

        panelFondo.add(lblTitulo);
        lblTitulo.setBounds(300, 10,150, 30);
        
        panelFondo.add(panelFrente);

        add(panelFondo);

        setPreferredSize(new Dimension(725,580));
        setMinimumSize(getPreferredSize());
        
        panelFrente.setBounds(40, 50, 630, 450);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        setVisible(true);
        
        /**************/
        EscuchadorVentanaReportes escuchador= new EscuchadorVentanaReportes(this,seccion);
        this.addWindowListener(escuchador);
        this.btnGuardar.addActionListener(escuchador);
        this.btnSalir.addActionListener(escuchador);
        this.cbOrden.addItemListener(escuchador);
        /**************/
    }

    public JButton getBtnSalir() {
        return btnSalir;
    }

    public JComboBox getCbOrden() {
        return cbOrden;
    }

    public JTable getReporteGenerado() {
		return reporteGenerado;
    }

    public JButton getBtnGuardar() {
        return btnGuardar;
    }
    
    
}